actorInit();

//Defines the seven stats every combatant possesses
//[global]
//TODO: Contemplate changing SPEC_STR to WISDOM since it only affects SP
enum STATS
{
    VITALITY = 0,
    PHYS_STR,
    PHYS_DEF,
    SPEED,
    SPEC_STR,
    SPEC_DEF,
    LUCK
}

//Defines the 'team' each combatatant belongs to
//Also helps with identifying the player 
//(rather than using reflection/ instanceof-like operators)
//[global]
enum ALIGNMENT
{
    NEUTRAL = 0,
    ENEMY,
    ALLY,
    CHAOTIC,
    PLAYER
}

//Define the stats array for the combatant
self.stats [STATS.VITALITY] = 0;
self.stats [STATS.PHYS_STR] = 0;
self.stats [STATS.PHYS_DEF] = 0;
self.stats [STATS.SPEED] = 0;
self.stats [STATS.SPEC_STR] = 0;
self.stats [STATS.SPEC_DEF] = 0;
self.stats [STATS.LUCK] = 0;

self.alignment = ALIGNMENT.NEUTRAL;

//Hit points
self.HPMax = 0;
self.HPCurrent = 0;

//Spell points
self.SPMax = 0;
self.SPCurrent = 0;

self.attackBonus = 0;
self.attackDefense = 0;
//TODO: rename to specialDefense for consistency
self.specialDef = 0;

//Speed modifiers
//Attack speed modifier
self.atkSpdMod = 0;

//Movement speed modifier
//Defined in gameObject
//self.moveSpeed = 0;

//Miscellaneous speed modifier
self.miscSpdMod = 0;

//TODO: make camelCase
self.luckMod = 0;

//list
self.attacks = ds_list_create();

self.attackCooldowns = ds_map_create();
